Configuration Space
Chapter 2
Configuration Space
A robot is mechanically constructed by connecting a set of bodies, called links, to each other using various types of joints. Actuators, such as electric motors, deliver forces or torques that cause the robot's links to move. Usually an end- effector, such as a gripper or hand for grasping and manipulating objects, is attached to a specific link. All the robots considered in this book have links that can be modeled as rigid bodies.
Perhaps the most fundamental question one can ask about a robot is, where is it? The answer is given by the robot's configuration: a specification of the positions of all points of the robot. Since the robot's links are rigid and of a known shape, 1 only a few numbers are needed to represent its configuration. For example, the configuration of a door can be represented by a single number, the angle
The above coordinates all take values over a continuous range of real numbers. The number of degrees of freedom (dof) of a robot is the smallest number of real- valued coordinates needed to represent its configuration. In the example above, the door has one degree of freedom. The coin lying heads up on a table has three degrees of freedom. Even if the coin could lie either heads up or tails up, its configuration space still would have only three degrees of freedom; a fourth variable, representing which side of the coin faces up, takes values in the discrete set {heads, tails}, and not over a continuous range of real
<--- Page 57 --->

values like the other three coordinates.
Definition 2.1. The configuration of a robot is a complete specification of the position of every point of the robot. The minimum number
In this chapter we study the C- space and degrees of freedom of general robots. Since our robots are constructed from rigid links, we examine first the degrees of freedom of a single rigid body, and then the degrees of freedom of general multi- link robots. Next we study the shape (or topology) and geometry of C- spaces and their mathematical representation. The chapter concludes with a discussion of the C- space of a robot's end- effector, its task space. In the following chapter we study in more detail the mathematical representation of the C- space of a single rigid body.
2.1 Degrees of Freedom of a Rigid Body
Continuing with the example of the coin lying on the table, choose three points
<--- Page 57 --->

To determine the number of degrees of freedom of the coin on the table, first choose the position of point
<--- Page 57 --->
Once we have chosen the location of point
Suppose that we choose to specify the position of an additional point
We have been applying the following general rule for determining the number of degrees of freedom of a system:
This rule can also be expressed in terms of the number of variables and independent equations that describe the system:
This general rule can also be used to determine the number of freedoms of a rigid body in three dimensions. For example, assume our coin is no longer confined to the table (Figure 2.2 (c)). The coordinates for the three points
<--- Page 57 --->
In summary, a rigid body in three- dimensional space has six freedoms, which can be described by the three coordinates parametrizing point
We have just established that a rigid body moving in three- dimensional space, which we call a spatial rigid body, has six degrees of freedom. Similarly, a rigid body moving in a two- dimensional plane, which we henceforth call a planar rigid body, has three degrees of freedom. This latter result can also be obtained by considering the planar rigid body to be a spatial rigid body with six degrees of freedom but with the three independent constraints
Since our robots consist of rigid bodies, Equation (2.1) can be expressed as follows:
Equation (2.3) forms the basis for determining the degrees of freedom of general robots, which is the topic of the next section.
2.2 Degrees of Freedom of a Robot
Consider once again the door example of Figure 2.1 (a), consisting of a single rigid body connected to a wall by a hinge joint. From the previous section we know that the door has only one degree of freedom, conveniently represented by the hinge joint angle
In both cases the joints constrain the motion of the rigid body, thus reducing the overall degrees of freedom. This observation suggests a formula for determining the number of degrees of freedom of a robot, simply by counting the number of rigid bodies and joints. In this section we derive precisely such
<--- Page 57 --->

a formula, called Grübler's formula, for determining the number of degrees of freedom of planar and spatial robots.
2.2.1 Robot Joints
Figure 2.3 illustrates the basic joints found in typical robots. Every joint connects exactly two links; joints that simultaneously connect three or more links are not allowed. The revolute joint (R), also called a hinge joint, allows rotational motion about the joint axis. The prismatic joint (P), also called a sliding or linear joint, allows translational (or rectilinear) motion along the direction of the joint axis. The helical joint (H), also called a screw joint, allows simultaneous rotation and translation about a screw axis. Revolute, prismatic, and helical joints all have one degree of freedom.
Joints can also have multiple degrees of freedom. The cylindrical joint (C) has two degrees of freedom and allows independent translations and rotations about a single fixed joint axis. The universal joint (U) is another two- degreeof- freedom joint that consists of a pair of revolute joints arranged so that their joint axes are orthogonal. The spherical joint (S), also called a ball- and- socket joint, has three degrees of freedom and functions much like our shoulder joint.
A joint can be viewed as providing freedoms to allow one rigid body to move relative to another. It can also be viewed as providing constraints on the possible motions of the two rigid bodies it connects. For example, a revolute joint can be viewed as allowing one freedom of motion between two rigid bodies
<--- Page 57 --->
| Joint type | dof f | Constraints c between two planar rigid bodies | Constraints c between two spatial rigid bodies |
| Revolute (R) | 1 | 2 | 5 |
| Prismatic (P) | 1 | 2 | 5 |
| Helical (H) | 1 | N/A | 5 |
| Cylindrical (C) | 2 | N/A | 4 |
| Universal (U) | 2 | N/A | 4 |
| Spherical (S) | 3 | N/A | 3 |
Table 2.1: The number of degrees of freedom
in space, or it can be viewed as providing five constraints on the motion of one rigid body relative to the other. Generalizing, the number of degrees of freedom of a rigid body (three for planar bodies and six for spatial bodies) minus the number of constraints provided by a joint must equal the number of freedoms provided by that joint.
The freedoms and constraints provided by the various joint types are summarized in Table 2.1.
2.2.2 Grübler's Formula
The number of degrees of freedom of a mechanism with links and joints can be calculated using Grübler's formula, which is an expression of Equation (2.3).
Proposition 2.2. Consider a mechanism consisting of N links, where ground is also regarded as a link. Let J be the number of joints, m be the number of degrees of freedom of a rigid body
<--- Page 57 --->

Gribler's formula for the number of degrees of freedom of the robot is
This formula holds in "generic" cases, but it fails under certain configurations of the links and joints, such as when the joint constraints are not independent.
Below we apply Gribler's formula to several planar and spatial mechanisms. We distinguish between two types of mechanism: open- chain mechanisms. (also known as serial mechanisms) and closed- chain mechanisms. A closed- chain mechanism is any mechanism that has a closed loop. A person standing with both feet on the ground is an example of a closed- chain mechanism, since a closed loop can be traced from the ground, through the right leg, through the waist, through the left leg, and back to ground (recall that the ground itself is a link). An open- chain mechanism is any mechanism without a closed loop; an example is your arm when your hand is allowed to move freely in space.
Example 2.3 (Four- bar linkage and slider- crank mechanism). The planar fourbar linkage shown in Figure 2.4 (a) consists of four links (one of them ground) arranged in a single closed loop and connected by four revolute joints. Since all the links are confined to move in the same plane, we have
<--- Page 57 --->

Figure 2.5: (a)
The slider- crank closed- chain mechanism of Figure 2.4 (b) can be analyzed in two ways: (i) the mechanism consists of three revolute joints and one prismatic joint
Example 2.4 (Some classical planar mechanisms). Let us now apply Grübler's formula to several classical planar mechanisms. The
<--- Page 57 --->

as expected. For the planar five- bar linkage of Figure 2.5 (b),
For the Stephenson six- bar linkage of Figure 2.5 (c), we have
Finally, for the Watt six- bar linkage of Figure 2.5 (d), we have
Example 2.5 (A planar mechanism with overlapping joints). The planar mechanism illustrated in Figure 2.6 has three links that meet at a single point on the right of the large link. Recalling that a joint by definition connects exactly two links, the joint at this point of intersection should not be regarded as a single revolute joint. Rather, it is correctly interpreted as two revolute joints overlapping each other. Again, there is more than one way to derive the number of degrees of freedom of this mechanism using Grübler's formula: (i) The mechanism consists of eight links
(ii) Alternatively, the lower- right revolute–prismatic joint pair can be regarded as a single two- dof joint. In this case the number of links is
<--- Page 57 --->

revolute joints, and a single two- dof revolute- prismatic pair. Substituting into Grübler's formula yields
Example 2.6 (Redundant constraints and singularities). For the parallelogram linkage of Figure 2.7 (a),
A similar situation arises for the two- dof planar five- bar linkage of Figure 2.7 (b). If the two joints connected to ground are locked at some fixed angle, the five- bar linkage should then become a rigid structure. However, if the two middle links are the same length and overlap each other, as illustrated in Figure 2.7 (b), these overlapping links can rotate freely about the two overlapping joints. Of course, the link lengths of the five- bar linkage must meet certain specifications in order for such a configuration to even be possible. Also note that if a different pair of joints is locked in place, the mechanism does become a rigid structure as expected.
Example 2.7 (Delta robot). The Delta robot of Figure 2.8 consists of two platforms – the lower one mobile, the upper one stationary – connected by three legs. Each leg contains a parallelogram closed chain and consists of three revolute joints, four spherical joints, and five links. Adding the two platforms,
<--- Page 57 --->

there are
Of these 15 degrees of freedom, however, only three are visible at the end- . effector on the moving platform. In fact, the parallelogram leg design ensures that the moving platform always remains parallel to the fixed platform, so that the Delta robot acts as an
Example 2.8 (Stewart–Gough platform). The Stewart–Gough platform of Figure 1.1 (b) consists of two platforms – the lower one stationary and regarded as ground, the upper one mobile – connected by six universal– prismatic–spherical (UPS) legs. The total number of links is 14
<--- Page 57 --->
In some versions of the Stewart- Gough platform the six universal joints are replaced by spherical joints. By Grübler's formula this mechanism has 12 degrees of freedom; replacing each universal joint by a spherical joint introduces an extra degree of freedom in each leg, allowing torsional rotations about the leg axis. Note, however, that this torsional rotation has no effect on the motion of the mobile platform.
The Stewart- Gough platform is a popular choice for car and airplane cockpit simulators, as the platform moves with the full six degrees of freedom of motion of a rigid body. On the one hand, the parallel structure means that each leg needs to support only a fraction of the weight of the payload. On the other hand, this structure also limits the range of translational and rotational motion of the platform relative to the range of motion of the end- effector of a six- dof open chain.
2.3 Configuration Space: Topology and Representation
2.3.1 Configuration Space Topology
Until now we have been focusing on one important aspect of a robot’s C- space – its dimension, or the number of degrees of freedom. However, the shape of the space is also important.
Consider a point moving on the surface of a sphere. The point’s C- space is two dimensional, as the configuration can be described by two coordinates, latitude and longitude. As another example, a point moving on a plane also has a two- dimensional C- space, with coordinates
Unlike the plane, a larger sphere has the same shape as the original sphere, in that it wraps around in the same way. Only its size is different. For that matter, an oval- shaped American football also wraps around similarly to a sphere. The only difference between a football and a sphere is that the football has been stretched in one direction.
The idea that the two- dimensional surfaces of a small sphere, a large sphere, and a football all have the same kind of shape, which is different from the shape of a plane, is expressed by the topology of the surfaces. We do not attempt a rigorous treatment in this book,3 but we say that two spaces are topologically
<--- Page 57 --->

equivalent if one can be continuously deformed into the other without cutting or gluing. A sphere can be deformed into a football simply by stretching, without cutting or gluing, so those two spaces are topologically equivalent. You cannot turn a sphere into a plane without cutting it, however, so a sphere and a plane are not topologically equivalent.
Topologically distinct one- dimensional spaces include the circle, the line, and a closed interval of the line. The circle is written mathematically as
In higher dimensions,
Note that the topology of a space is a fundamental property of the space itself and is independent of how we choose coordinates to represent points in the space. For example, to represent a point on a circle, we could refer to the point by the angle
Some C- spaces can be expressed as the Cartesian product of two or more space.
<--- Page 57 --->
spaces of lower dimension; that is, points in such a C- space can be represented as the union of the representations of points in the lower-dimensional spaces. For example:
The C- space of a rigid body in the plane can be written as
The C- space of a PR robot arm can be written
The C- space of a 2R robot arm can be written
The C- space of a planar rigid body (e.g., the chassis of a mobile robot) with a 2R robot arm can be written as
As we saw in Section 2.1 when we counted the degrees of freedom of a rigid body in three dimensions, the configuration of a rigid body can be described by a point in
2.3.2 Configuration Space Representation
To perform computations, we must have a numerical representation of the space, consisting of a set of real numbers. We are familiar with this idea from linear algebra – a vector is a natural way to represent a point in a Euclidean space. It is important to keep in mind that the representation of a space involves a choice, and therefore it is not as fundamental as the topology of the space, which is independent of the representation. For example, the same point in a three- dimensional space can have different coordinate representations depending on the choice of reference frame (the origin and the direction of the coordinate axes) and the choice of length scale, but the topology of the underlying space is the same regardless of these choices.
While it is natural to choose a reference frame and length scale and to use a vector to represent points in a Euclidean space, representing a point on a
<--- Page 57 --->
| system | topology | sample representation |
| point on a plane | E2 | (x, y) R2 |
| spherical pendulum | S2 | latitude 90° -180° -90° [-180°, 180°) × [-90°, 90°] |
| 2R robot arm | T2=S1×S1 | θ2 2π [0,2π)×[0,2π) |
| rotating sliding knob | E1×S1 | θ 2π R1×[0,2π) |
Table 2.2: Four topologically different two-dimensional C-spaces and example co-ordinate representations. In the latitude-longitude representation of the sphere, the latitudes
curved space, such as a sphere, is less obvious. One solution for a sphere is to use latitude and longitude coordinates. A choice of n coordinates, or parameters,
<--- Page 57 --->
to represent an
The latitude- longitude representation of a sphere is unsatisfactory if you are walking near the North Pole (where the latitude equals
If you can assume that the configuration never approaches a singularity of the representation, you can ignore this issue. If you cannot make this assumption, there are two ways to overcome the problem.
Use more than one coordinate chart on the space, where each coordinate chart is an explicit parametrization covering only a portion of the space such that, within each chart, there is no singularity. As the configuration representation approaches a singularity in one chart, e.g., the North or South Pole, you simply switch to another chart where the North and South Poles are far from singularities.
If we define a set of singularity- free coordinate charts that overlap each other and cover the entire space, like the two charts above, the charts are said to form an atlas of the space, much as an atlas of the Earth consists of several maps that together cover the Earth. An advantage of using an atlas of coordinate charts is that the representation always uses the minimum number of numbers. A disadvantage is the extra bookkeeping required to switch representations between coordinate charts to avoid singularities. (Note that Euclidean spaces can be covered by a single coordinate chart without singularities.)
Use an implicit representation instead of an explicit parametrization. An implicit representation views the
<--- Page 57 --->
a Euclidean space of more than
A disadvantage of this approach is that the representation has more numbers than the number of degrees of freedom. An advantage is that there are no singularities in the representation - a point moving smoothly around the sphere is represented by a smoothly changing
Another advantage is that while it may be very difficult to construct an explicit parametrization, or atlas, for a closed- chain mechanism, it is easy to find an implicit representation: the set of all joint coordinates subject to the loop- closure equations that define the closed loops (Section 2.4).
We will use implicit representations throughout the book, beginning in the next chapter. In particular, we use nine numbers, subject to six constraints, to represent the three orientation freedoms of a rigid body in space. This is called a rotation matrix. In addition to being singularity- free (unlike three- parameter representations such as roll- pitch- yaw angles4), the rotation matrix representation allows us to use linear algebra to perform computations such as rotating a rigid body or changing the reference frame in which the orientation of a rigid body is expressed.5
In summary, the non- Euclidean shape of many C- spaces motivates our use of implicit representations of C- space throughout this book. We return to this topic in the next chapter.
2.4 Configuration and Velocity Constraints
For robots containing one or more closed loops, usually an implicit representation is more easily obtained than an explicit parametrization. For example,
<--- Page 57 --->

consider the planar four- bar linkage of Figure 2.10, which has one degree of freedom. The fact that the four links always form a closed loop can be expressed by the following three equations:
These equations are obtained by viewing the four- bar linkage as a serial chain with four revolute joints in which (i) the tip of link
These equations are sometimes referred to as loop- closure equations. For the four- bar linkage they are given by a set of three equations in four unknowns. The set of all solutions forms a one- dimensional curve in the four- dimensional joint space and constitutes the C- space.
In this book, when vectors are used in a linear algebra computation, they are treated as column vectors, e.g.,
Thus, for general robots containing one or more closed loops, the configuration space can be implicitly represented by the column vector
<--- Page 57 --->
a set of
The C- space can be viewed as a surface of dimension
Suppose that a closed- chain robot with loop- closure equations
thus
This can be expressed as a matrix multiplying a column vector
which we can write as
Here, the joint- velocity vector
<--- Page 57 --->

where
We now consider another class of Pfaffian constraints that is fundamentally different from the holonomic type. To illustrate this with a concrete example, consider an upright coin of radius
We now express, in mathematical form, the fact that the coin rolls without slipping. The coin must always roll in the direction indicated by
Collecting the four C- space coordinates into a single vector
These are Pfaffian constraints of the form
These constraints are not integrable; that is, for the
<--- Page 57 --->
for some
In a number of robotics contexts nonholonomic constraints arise that involve the conservation of momentum and rolling without slipping, e.g., wheeled vehicle kinematics and grasp contact kinematics. We examine nonholonomic constraints in greater detail in our study of wheeled mobile robots in Chapter 13.
2.5 Task Space and Workspace
We now introduce two more concepts relating to the configuration of a robot: the task space and the workspace. Both relate to the configuration of the endeffector of a robot, not to the configuration of the entire robot.
The task space is a space in which the robot's task can be naturally expressed. For example, if the robot's task is to plot with a pen on a piece of paper, the task space would be
The workspace is a specification of the configurations that the end- effector of the robot can reach. The definition of the workspace is primarily driven by the robot's structure, independently of the task.
<--- Page 57 --->

Both the task space and the workspace involve a choice by the user; in particular, the user may decide that some freedoms of the end- effector (e.g., its orientation) do not need to be represented.
The task space and the workspace are distinct from the robot's C- space. A point in the task space or the workspace may be achievable by more than one robot configuration, meaning that the point is not a full specification of the robot's configuration. For example, for an open- chain robot with seven joints, the six- dof position and orientation of its end- effector does not fully specify the robot's configuration.
Some points in the task space may not be reachable at all by the robot,
<--- Page 57 --->
such as some points on a chalkboard. By definition, however, all points in the workspace are reachable by at least one configuration of the robot.
Two mechanisms with different C- spaces may have the same workspace. For example, considering the end- effector to be the Cartesian tip of the robot (e.g., the location of a plotting pen) and ignoring orientations, the planar 2R open chain with links of equal length three (Figure 2.12 (a)) and the planar 3R open chain with links of equal length two (Figure 2.12 (b)) have the same workspace despite having different C- spaces.
Two mechanisms with the same C- space may also have different workspaces. For example, taking the end- effector to be the Cartesian tip of the robot and ignoring orientations, the 2R open chain of Figure 2.12 (a) has a planar disk as its workspace, while the 2R open chain of Figure 2.12 (c) has the surface of a sphere as its workspace.
Attaching a coordinate frame to the tip of the tool of the 3R open- chain "wrist" mechanism of Figure 2.12 (d), we see that the frame can achieve any orientation by rotating the joints but the Cartesian position of the tip is always fixed. This can be seen by noting that the three joint axes always intersect at the tip. For this mechanism, we would probably define the workspace to be the three- dof space of orientations of the frame,
Example 2.9. The SCARA robot of Figure 2.13 is an RRRP open chain that is widely used for tabletop pick- and- place tasks. The end- effector configuration is completely described by the four parameters
Example 2.10. A standard 6R industrial manipulator can be adapted to spraypainting applications as shown in Figure 2.14. The paint spray nozzle attached to the tip can be regarded as the end- effector. What is important to the task is the Cartesian position of the spray nozzle, together with the direction in which the spray nozzle is pointing; rotations about the nozzle axis (which points in the direction in which paint is being sprayed) do not matter. The nozzle configuration can therefore be described by five coordinates:
<--- Page 57 --->

Figure 2.13: SCARA robot.

<--- Page 57 --->
as
2.6 Summary
-
A robot is mechanically constructed from links that are connected by various types of joint. The links are usually modeled as rigid bodies. An end-effector such as a gripper may be attached to some link of the robot. Actuators deliver forces and torques to the joints, thereby causing motion of the robot.
-
The most widely used one-dof joints are the revolute joint, which allows rotation about the joint axis, and the prismatic joint, which allows translation in the direction of the joint axis. Some common two-dof joints include the cylindrical joint, which is constructed by serially connecting a revolute and prismatic joint, and the universal joint, which is constructed by orthogonally connecting two revolute joints. The spherical joint, also known as the ball-and-socket joint, is a three-dof joint whose function is similar to the human shoulder joint.
-
The configuration of a rigid body is a specification of the location of all its points. For a rigid body moving in the plane, three independent parameters are needed to specify the configuration. For a rigid body moving in three-dimensional space, six independent parameters are needed to specify the configuration.
-
The configuration of a robot is a specification of the configuration of all its links. The robot's configuration space is the set of all possible robot configurations. The dimension of the C-space is the number of degrees of freedom of a robot.
-
The number of degrees of freedom of a robot can be calculated using Grübler's formula,
where
<--- Page 57 --->
-
A robot's C-space can be parametrized explicitly or represented implicitly. For a robot with
degrees of freedom, an explicit parametrization uses coordinates, the minimum necessary. An implicit representation involves coordinates with , with the coordinates subject to constraint equations. With an implicit parametrization, a robot's C-space can be viewed as a surface of dimension embedded in a space of higher dimension . -
The C-space of an
-dof robot whose structure contains one or more closed loops can be implicitly represented using loop-closure equations of the form , where and . Such constraint equations are called holonomic constraints. Assuming that varies with time , the holonomic constraints can be differentiated with respect to to yield
where
- A robot's motion can also be subject to velocity constraints of the form
where
Such constraints are said to be nonholonomic constraints, or nonintegrable constraints. These constraints reduce the dimension of feasible velocities of the system but do not reduce the dimension of the reachable C- space. Nonholonomic constraints arise in robot systems subject to conservation of momentum or rolling without slipping.
- A robot's task space is a space in which the robot's task can be naturally expressed. A robot's workspace is a specification of the configurations that the end-effector of the robot can reach.
2.7 Notes and References
In the kinematics literature, structures that consist of links connected by joints are also called mechanisms or linkages. The number of degrees of freedom of a